PROFDINFO.COM

Votre enseignant d'informatique en ligne

Labo 1 - Exercices sur les commandes de base

Retour à la page du cours

Les laboratoires dans ce cours ne sont pas à remettre et ne seront pas notés. Ils doivent être vus comme des exercices formateurs pour mettre en place les notions théoriques. Cela ne veut toutefois pas dire qu'ils ne valent pas la peine d'être faits, bien au contraire.

Pour ce premier laboratoire, je vous demanderai de créer la structure de répertoires montrée dans l'encadré sous votre répertoire maison:

La strucure de répertoires à créer

Évidemment, vous remplacerez votrenom par votre nom d'usager. Ce répertoire existe déjà sur votre système, vous n'aurez donc pas à le créer. Ne créez que ce qui se trouve dans l'encadré.

Note: vous n'avez aucun besoin des droits d'administration pour faire ces exercices. N'utilisez donc pas la commande sudo, vous risquez de causer des problèmes sur votre système par accident.

Assurez-vous de donner les bons droits aux répertoires, même si pour l'instant on ne fonctionne qu'avec un seul usager.

Les commandes utiles pour créer la structure

Voici les commandes qui seront nécessaires:

  • mkdir:  évidemment, puisqu'on créera des répertoires.  Utilisez mkdir suivi du nom du répertoire voulu pour le créer dans le répertoire courant.  Par exemple, si je suis dans eforest et que je fais mkdir bin, je créerai le répertoire bin dans eforest.  Pour créer scripts dans bin, je peux soit me déplacer dans mon nouveau répertoire bin et faire mkdir scripts ou encore rester où je suis et faire mkdir bin/scripts.  Remarquez que bin doit déjà exister pour que cette commande fonctionne.
  • cd:  fort utile pour se déplacer dans notre arborescence.  N'oubliez pas que cd tout court (ou cd ~) nous ramène à la maison (ici dans /home/votrenom).  Notez qu'une fois qu'on y est, on pourrait tout faire sans jamais réutiliser le cd.  Voyez-vous comment?  Ça pourrait être un exercice intéressant que d'essayer de créer la structure et de changer les droits sans quitter le confort de sa maison...
  • ls:  bien pratique pour vérifier le travail qu'on a fait.  N'oubliez pas que ls tout court nous affiche les fichiers et répertoires visibles (i.e. non cachés) dans le répertoire courant, mais que ls -a affiche même les fichiers cachés (pas très important dans ce cas).  Par contre, ls -l affiche le mode "long", avec plus d'information (utile pour voir les droits associés aux fichiers).  De plus, ls -R affiche le contenu du répertoire courant et de tous ses sous répertoires, un après l'autre (en mode récursif, un peu comme le dir /s de DOS).  On peut jumeler les switches pour faire ls -Rl ou même ls -Ral.  Dans ce cas, ajouter " | less" au bout de la commande est recommandé si on veut pouvoir voir plus que les dernières lignes de l'affichage...
  • chmod:  pour modifier les droits sur les répertoires.  La méthode absolue (par exemple:  chmod 750 /home/votrenom) est beaucoup plus efficace que la méthode relative (par exemple:  chmod o-rwx /home/votrenom).  N'oubliez pas que pour changer les droits du répertoire courant, on peut utiliser le "." plutôt que de se déplacer dans le parent (chmod 750 . est plus efficace que cd .. suivi de chmod 750 bin par exemple).

Créer des fichiers

Il existe plusieurs façons de créer des fichiers, mais la plus rapide (si on ne se soucie pas du contenu du fichier créé) est définitivement l'utilisation de la commande touchtouch nom_fichier modifiera la date de modification du fichier nom_fichier pour la mettre à la date courante (on peut voir cette date en faisant ls -l).  Effet secondaire intéressant:  si nom_fichier n'existe pas, il sera créé comme un fichier vide (0 bytes) et modifié à la date courante.

Créez un fichier par répertoire, comme suit:

  • Dans votre répertoire maison (~) créez fichier1.
  • Dans bin, créez fichier2
  • Dans scripts, créez fichier3
  • Dans progs, créez fichier4
  • Dans doc, créez fichier5
  • Dans projet, créez fichier6
  • Dans recherche, créez fichier7
  • Dans temp, créez fichier8

Encore une fois, on a le choix entre se déplacer dans le répertoire voulu pour ensuite créer le fichier (par exemple cd ~/bin puis touch fichier2) ou simplement le créer à partir d'où on est (peu importe c'est où) en faisant touch ~/bin/fichier2.  Habituez-vous à utiliser des chemins complets dans les paramètres des commandes afin d'éviter de faire un paquet de cd inutilement.  N'oubliez pas que le ~ remplace le chemin absolu vers votre répertoire maison (dans mon cas /home/eforest) et que l'on peut très bien construire un chemin à partir de là (comme ~/bin/fichier2).

Opérations de base sur les fichiers et répertoires

Répondez aux questions suivantes en inscrivant la commande nécessaire pour réaliser l'opération.  Tentez si possible d'écrire la réponse avant de la tester afin de voir si vous maîtrisez bien les concepts.  N'oubliez pas que Linux est sensible à la casse (et votre professeur aussi lorsqu'il corrige) et que les espaces sont importants.  Ces exercices sont cumulatifs, c'est à dire que pour chacun d'eux on suppose qu'on a fait ceux qui le précèdent correctement.

Faites attention de ne pas confondre "déplacer un fichier" et "faire une copie d'un fichier"...

 

Déplacez-vous dans votre répertoire maison:

 

 

Faites une copie du fichier5 dans votre répertoire maison (tentez de trouver la commande la plus courte possible pour réaliser l'opération):

 

 

Renommez le fichier5 maintenant dans votre répertoire maison pour qu'il s'appelle fichier5.maison:

 

 

Faites une copie du fichier6 dans votre répertoire maison pour que la copie s'appelle fichier6.maison (en une seule commande):

 

 

Déplacez le fichier8 du répertoire temp au répertoire bin/progs, en lui faisant garder le même nom:

 

 

Déplacez le fichier6.maison vers bin/progs et faites en sorte qu'il s'appelle maintenant fichier6.progs (en une seule commande):

 

 

Affichez le contenu du répertoire bin/progs sans vous déplacer de votre répertoire maison:

 

 

Déplacez-vous dans le répertoire bin/progs, puis affichez son contenu en format long (deux commandes):

 

 

Affichez le contenu du répertoire bin sans vous déplacer et en utilisant un chemin relatif:

 

 

Affichez le contenu du répertoire bin sans vous déplacer et en utilisant un chemin absolu:

 

 

Toujours sans vous déplacer, renommez le fichier3 pour qu'il s'appelle fichier3.georges (en le laissant là où il est):

 

 

Détruisez le répertoire projet et tout son contenu en une seule commande:

 

 

Détruisez le répertoire temp en utilisant une commande différente de la commande précédente:

 

 

Pourquoi n'aurions-nous pas pu utiliser cette commande pour détruire le répertoire projet précédemment?

 

 

Retournez dans votre répertoire maison:

 

 

Cachez le fichier fichier5.maison en lui laissant sensiblement le même nom:

 

 

Affichez le contenu du répertoire maison de façon à ne pas voir les fichiers cachés:

 

 

Affichez le contenu du répertoire maison de façon à voir tous les fichiers:

 

 

Bonus: créez dans votre répertoire maison un lien appelé documentation qui pointe sur le fichier5 dans le répertoire doc: